#ifndef FRAKOUTVERSIONSTATEFACTORY_H
#define FRAKOUTVERSIONSTATEFACTORY_H

class FrakOutVersion;
class FrakOutVersionState;

class FrakOutVersionStateFactory
{
public:

    /**
     * Factory method for creating a FrakOutVersionState object from a
     * FrakOutVersion object.
     * @param version An object describing a particular FrakOut version.
     * @return A FrakOutVersionState object.
     */
    static FrakOutVersionState* create(const FrakOutVersion* const version);

private:
    FrakOutVersionStateFactory();
    FrakOutVersionStateFactory(const FrakOutVersionStateFactory&);
    FrakOutVersionStateFactory& operator=(const FrakOutVersionStateFactory&);
};

#endif // FRAKOUTVERSIONSTATEFACTORY_H
